package com.hgx.servlet.demo.listener;/**
 * Created by liujun on 2018/5/27.
 */

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * @author hugx
 * @create 2018-05-27 18:29
 */
public class ListenerTest implements ServletContextListener {
    // 应用监听器的销毁方法
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        ServletContext servletContext = servletContextEvent.getServletContext();
        // 在整个web应用销毁之前调用，将所有应用空间所设置的内容清空
        servletContext.removeAttribute("dataSource");
        System.out.println("销毁工作完成...");
    }
    // 应用监听器的初始化方法
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        // 通过这个事件可以在整个web应用下面启动的时候做一些初始化的内容添加工作
        ServletContext servletContext = servletContextEvent.getServletContext();
        // 设置一些基本的内容；比如一些参数或者是一些固定的对象
        // 创建DataSource对象，连接池技术 dbcp
//        BasicDataSource basicDataSource = new BasicDataSource();
//        basicDataSource.setDriverClassName("com.jdbc.Driver");
//        basicDataSource.setUrl("jdbc:mysqlocalhost:3306/");
//        basicDataSource.setUsername("root");
//        basicDataSource.setPassword("root");
//        basicDataSource.setMaxActive(10);//最大连接数
//        basicDataSource.setMaxIdle(5);//最大管理数
//        servletContext.setAttribute("dataSource", basicDataSource);

        System.out.println("应用监听器初始化工作完成...");
        System.out.println("已经创建DataSource...");
    }
}
